草庐IT

node.js - 找不到模块 \'express-session\'

全部标签

Ruby:通过模块添加东西来初始化方法

在Ruby中,我想让一个类包含一系列模块,并让这些单独的模块在初始化该类时执行一个block或方法(或者只是想办法编辑一个实例变量)。我知道我可以通过在模块中创建一个方法然后在类的初始化方法中调用它来做到这一点,但我想通过简单地包含模块并调用一个方法来执行模块中的任何代码来实现这一点添加到初始化,这样我就可以在类中包含大量内容,而不必担心在初始化方法中为包含的每个模块添加一行代码。我检查了别名、super和相关的东西,但没有得到任何东西......如果它有助于理解我希望完成的是一些伪代码:moduleMod1call_this_block_on_initialize{@a.push4}

ruby - 为什么在输入 (LoadError) 中找不到 Ruby 脚本?

Ruby由rbenv安装。$ruby-vruby1.9.3p327(2012-11-10revision37606)[i686-linux]$whichruby/home/user/.rbenv/shims/ruby$whichsass/home/user/.rbenv/shims/sass$gemlist***LOCALGEMS***bigdecimal(1.1.0)bundler(1.2.4)io-console(0.3)json(1.5.4)minitest(2.5.1)rake(0.9.2.2)rdoc(3.9.4)sass(3.2.5)这是我的config.yml:#Asse

Ruby:C类包含模块M;在 M 中包含模块 N 不会影响 C。什么给了?

更详细地说,我有一个模块Narf,它为一系列类提供基本功能。具体来说,我想影响所有继承Enumerable的类。所以我在Enumerable中includeNarf。Array是默认包含Enumerable的类。然而,它不受Narf延迟包含在模块中的影响。有趣的是,在包含之后定义的类从Enumerable获取Narf。示例:#ThismoduleprovidesessentialfeaturesmoduleNarfdefnarf?puts"(from#{self.class})ZORT!"endend#IwantallEnumerablestobeabletoNarfmoduleEnu

Ruby 模块给定参数调用一个方法?

我对Nokogiri文档中发生的事情感到困惑。据我所知,如果require'nokogiri'some_html="Mr.BelvedereFanClub"然后这三行做同样的事情:html_doc=Nokogiri::HTML::Document.parse(some_html)html_doc=Nokogiri::HTML.parse(some_html)html_doc=Nokogiri::HTML(some_html)第二个只是第一个的便捷方法。但在我的非Ruby眼中,第三个看起来像是将参数传递给模块,而不是方法。我知道Ruby有构造函数,但我认为它们采用的是Class.new形

ruby - 模块中的 @ 和 @@ 有什么区别?

假设一个模块是包含的,而不是扩展的,那么模块实例变量和类变量有什么区别?我看不出两者有什么区别。moduleM@foo=1defself.foo@fooendendpM.foomoduleM@@foo=1defself.foo@@fooendendpM.foo我一直在模块中使用@作为@@,我最近看到其他代码在模块中使用@@。然后我想我可能一直在错误地使用它。既然我们不能实例化一个模块,那么@和@@对于一个模块来说肯定没有区别。我错了吗?--------------------添加了以下内容--------------------为了回答关于评论和帖子的一些问题,我还测试了以下内容。mo

ruby-on-rails - 模型测试中未定义局部变量或方法 'session'

我正在创建一个RubyonRails应用程序,并尝试运行涉及我的用户模型的测试,以查看“记住我”功能是否有效。我正在使用Rails的内置cookies散列来存储cookie,并使用session散列来存储当前session。我在使用session变量的地方运行了各种测试(集成、模型和Controller),但出于某种原因,在这种特殊情况下它没有被识别。NameError:undefinedlocalvariableormethod`session'for#错误发生在下面log_in_as方法的elseblock中:test_helper.rb...deflog_in_as(user,o

ruby-on-rails - Ruby:如何从包含模块的类中访问常量

我正在尝试访问一个包含在模块中的各个类中的常量。作为一个基本的例子modulefoodefdo_something_to_constCONSTANT.each{...do_something...}endendclassbarincludefooCONSTANT=%w(Iwanttobeabletoaccessthisinfoo)endclassbazincludefooCONSTANT=%w(Adifferentconstanttoaccess)end由于模块的逻辑在多个类之间共享,我希望能够只引用常量(每个类的名称保持相同,但内容不同)。我将如何解决这个问题?

Ruby module_function,调用模块的私有(private)方法,在模块的类方法样式中调用显示错误

test_module.rbmoduleMyModuledefmodule_func_aputs"module_func_ainvoked"private_bendmodule_function:module_func_aprivatedefprivate_bputs"private_binvoked"endendclassMyClassincludeMyModuledeftest_modulemodule_func_aendend从类中调用模块函数c=MyClass.newc.test_module输出1:$rubytest_module.rbmodule_func_ainvoked

ruby-on-rails - Rails 看不到环境变量

我正在尝试将Rails应用程序移至生产环境中,但遇到Rails看不到我的环境变量的问题。我的.bashrc文件中有我的数据库设置的密码,例如exportAPP_NAME_DATABASE_PASSWORD=secretkey在内部ENV["APP_NAME_DATABASE_PASSWORD"]返回secretkey.使用RAILS_ENV=productionrailsc只是railsc返回secretkey但是在启动应用程序时我得到了Accessisdenied(usingpassword:NO)我在“HowToDeployaRailsAppwithUnicornandNginxo

ruby-on-rails - 不理解类、模块和类 << self 方法

我有以下代码:classMyClassmoduleMyModuleclass当我调用方法时myfunction像这样,它工作正常:>me=MyClass::MyModule.myfunction=>"Nathan">me=>"Nathan"但是如果我删除了class并添加self.myfunction的前缀,它不起作用。例如:classMyClassmoduleMyModuleattr_accessor:first_namedefself.myfunctionMyModule.first_name="Nathan"endendend>me=MyClass::MyModule.myfun